<?php

class Application_Model_Incidencias extends Sgit_Model
{  
    protected $_name = 'incidencias';
    protected $_primary = 'id';


    public function getIncidencia($id)
    {
        return $this->getIncidencias(array(), $id);
    }


    public function getIncidencias($values = array(), $id = null)
    {

        $select = $this->getAdapter()->select();
        $select->from(array($this->_name));
        $select->where("borrado= ?", 0);
       
       
        if (!is_null($id))
        {
            $select->where("id= ?", $id);
        } else
        {
            if (is_numeric($values['id_zona']))
                $select->where('incidencias.id_zona= ?', $values['id_zona'],INTEGER);
            if (is_numeric($values['detectada']))
                $select->where('incidencias.detectada= ?', $values['detectada'],INTEGER);    
            if (is_numeric($values['origen']))
                $select->where('incidencias.origen= ?', $values['origen'],INTEGER);
            if (is_numeric($values['nivel']))
                $select->where('incidencias.nivel= ?', $values['nivel'],INTEGER);
            if (is_numeric($values['incidencia']))
                $select->where('incidencias.incidencia= ?', $values['incidencia'],INTEGER);
            if (is_numeric($values['impacto']))
                $select->where('incidencias.impacto= ?', $values['impacto'],INTEGER);
            if (is_numeric($values['impacto_cliente']))
                $select->where('incidencias.impacto_cliente= ?', $values['impacto_cliente'],INTEGER);
            if (is_numeric($values['resolucion']))
                $select->where('incidencias.resolucion= ?', $values['resolucion'],INTEGER);
        }
    
        Sgit_Util_DateRange::run($select,$values['fecha'],'fecha_incidencia');

        $select->order("fecha_incidencia desc");


        $rows = $this->getAdapter()->fetchAll($select);

   
        if (is_null($id))
            return $rows;
        else
            return $rows[0];


    }
    
    
    
    
    
} 




